package com.ruicar.afs.cloud.apply.pre.loan.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruicar.afs.cloud.apply.common.entity.ApplyOprRecord;
import com.ruicar.afs.cloud.apply.pre.loan.condition.OrderOprCondition;
import com.ruicar.afs.cloud.common.core.security.vo.RoleVo;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @description: 订单操作记录
 * @author: sijun.yu
 * @date: 2020/5/20 11:05
 */
public interface ApplyOprRecordMapper extends BaseMapper<ApplyOprRecord> {


    /**
     * 获取操作记录信息
     *
     * @param condition
     * @param page
     * @return
     */
    IPage<List<ApplyOprRecord>> getOprRecord(@Param("query") OrderOprCondition condition, Page page);

    /**
     * 更新操作记录信息
     *
     * @param condition
     * @return
     */
    Boolean updateOprRecord(@Param("update") OrderOprCondition condition);

    /**
     * 更新del_flag
     *
     * @param condition
     * @return
     */
    Boolean updateDelFlag(@Param("update") OrderOprCondition condition);


    /**
     * 获取资产变更操作记录信息
     *
     * @param condition
     * @param page
     * @return
     */
    IPage<ApplyOprRecord> searchOprInfoForReconsider(@Param("query") OrderOprCondition condition, Page page);

    /**
     * 获取复议操作记录信息
     *
     * @param condition
     * @param page
     * @return
     */
    IPage<ApplyOprRecord> searchOprInfoForAssertChange(@Param("query") OrderOprCondition condition, Page page);

    /**
     * 获取资产变更操作记录信息
     *
     * @param status
     * @return
     */
    List<ApplyOprRecord> oprInfoForReconsider(@Param("status") String status);

    /**
     * 获取资产变更记录
     * */
    List<ApplyOprRecord> getOprRecordByConditon(@Param("channelId") String channelId,@Param("status") String status,@Param("createBy") String createBy,@Param("deptIds") List<String> deptIds,@Param("roleList") List<RoleVo> roleList);

}

